{$layout}
{$template "../menu"}
{$template "/left_menu_with_menu"}

<div class="right-box with-menu">
    <form class="ui form" data-tea-action="$" data-tea-success="success">
        <csrf-token></csrf-token>
        <input type="hidden" name="clusterId" :value="clusterId"/>

        <h4>域名</h4>

        <table class="ui table definition selectable">
            <tr>
                <td class="title color-border">禁止未绑定域名访问</td>
                <td>
                    <checkbox name="httpAllMatchDomainStrictly" v-model="config.httpAll.matchDomainStrictly"></checkbox>
                    <p class="comment">选中后，表示禁止未绑定的域名和IP访问。</p>
                </td>
            </tr>
            <tr v-show="config.httpAll.matchDomainStrictly">
                <td class="color-border">未绑定域名页面提示</td>
                <td>
                    <textarea rows="3" name="httpAllDomainMismatchActionContentHTML" v-model="httpAllDomainMismatchActionContentHTML"></textarea>
                    <p class="comment">访问未绑定的域名时提示的文字，可以使用HTML；仅限于HTTP请求，不适于用HTTPS（HTTPS会提示证书错误）。</p>
                </td>
            </tr>
            <tr v-show="config.httpAll.matchDomainStrictly">
                <td class="color-border">允许例外的域名</td>
                <td>
                    <domains-box name="httpAllAllowMismatchDomainsJSON" :v-domains="config.httpAll.allowMismatchDomains"></domains-box>
                    <p class="comment">允许这些域名不经过绑定就可以直接访问网站。</p>
                </td>
            </tr>
            <tr v-show="config.httpAll.matchDomainStrictly">
                <td class="color-border">默认域名</td>
                <td>
                    <input type="text" name="httpAllDefaultDomain" v-model="config.httpAll.defaultDomain"/>
                    <p class="comment">例外域名或使用节点IP访问时使用的默认域名。</p>
                </td>
            </tr>

            <tr v-show="config.httpAll.matchDomainStrictly">
                <td class="color-border">允许使用节点IP访问</td>
                <td>
                    <checkbox name="httpAllAllowNodeIP" v-model="config.httpAll.allowNodeIP"></checkbox>
                    <p class="comment">选中后，表示允许直接使用节点IP访问网站。</p>
                </td>
            </tr>
            <tr v-show="config.httpAll.matchDomainStrictly">
                <td class="color-border">访问节点IP显示自定义内容</td>
                <td>
                    <checkbox name="httpAllNodeIPShowPage" v-model="config.httpAll.nodeIPShowPage"></checkbox>
                    <p class="comment">选中后，表示用户访问节点IP时显示自定义内容。</p>
                </td>
            </tr>
            <tr v-show="config.httpAll.matchDomainStrictly && config.httpAll.nodeIPShowPage">
                <td class="color-border">访问节点IP自定义内容</td>
                <td>
                    <textarea name="httpAllNodeIPPageHTML" v-model="config.httpAll.nodeIPPageHTML" rows="3" placeholder="访问节点IP时要显示的自定义内容"></textarea>
                    <p class="comment">访问节点IP时要显示的自定义内容，支持HTML。</p>
                </td>
            </tr>
        </table>

        <h4>访问日志</h4>
        <table class="ui table definition selectable">
            <tr>
                <td>记录请求Header</td>
                <td>
                    <checkbox name="httpAccessLogEnableRequestHeaders" v-model="config.httpAccessLog.enableRequestHeaders"></checkbox>
                    <p class="comment">选中后，表示在访问日志中记录请求Header。</p>
                </td>
            </tr>
            <tr>
                <td class="title">只记录通用请求<br/>Header</td>
                <td>
                    <checkbox name="httpAccessLogCommonRequestHeadersOnly" v-model="config.httpAccessLog.commonRequestHeadersOnly"></checkbox>
                    <p class="comment">选中后，表示访问日志中只记录通用的HTTP请求Header（比如<code-label>User-Agent</code-label>），其他自定义或非标准的（比如<code-label>Test-Header</code-label>）将不记录。</p>
                </td>
            </tr>
            <tr>
                <td>记录响应Header</td>
                <td>
                    <checkbox name="httpAccessLogEnableResponseHeaders" v-model="config.httpAccessLog.enableResponseHeaders"></checkbox>
                    <p class="comment">选中后，表示在访问日志中记录响应Header。</p>
                </td>
            </tr>
            <tr>
                <td>记录Cookie</td>
                <td>
                    <checkbox name="httpAccessLogEnableCookies" v-model="config.httpAccessLog.enableCookies"></checkbox>
                    <p class="comment">选中后，表示访问日志中记录Cookie内容。</p>
                </td>
            </tr>
            <tr>
                <td>记录找不到网站日志</td>
                <td>
                    <checkbox name="httpAccessLogEnableServerNotFound" v-model="config.httpAccessLog.enableServerNotFound"></checkbox>
                    <p class="comment">选中后，表示如果访客访问的域名对应的网站不存在也会记录日志。</p>
                </td>
            </tr>
        </table>

        <h4>运行日志</h4>
        <table class="ui table definition selectable">
            <tr>
                <td class="title">记录服务错误</td>
                <td>
                    <checkbox name="logRecordServerError" v-model="config.log.recordServerError"></checkbox>
                    <p class="comment">在节点运行日志中记录网站相关错误，比如无法连接源站等。</p>
                </td>
            </tr>
        </table>

        <h4>性能</h4>
        <table class="ui table definition selectable">
            <tr>
                <td class="title">自动读数据超时</td>
                <td>
                    <checkbox name="performanceAutoReadTimeout" v-model="config.performance.autoReadTimeout"></checkbox>
                    <p class="comment">从客户端读取数据时自动设置超时时间，如果超时，则自动视为慢连接，并关闭网络连接；此为专业选项，请在专家指导下进行修改。</p>
                </td>
            </tr>
            <tr>
                <td class="title">自动写数据超时</td>
                <td>
                    <checkbox name="performanceAutoWriteTimeout" v-model="config.performance.autoWriteTimeout"></checkbox>
                    <p class="comment">向客户端发送数据时自动设置超时时间，如果超时，则自动视为慢连接，并关闭网络连接；此为专业选项，请在专家指导下进行修改。</p>
                </td>
            </tr>
            <tr>
                <td>调试模式</td>
                <td>
                    <checkbox name="performanceDebug" v-model="config.performance.debug"></checkbox>
                    <p class="comment">开启调试模式后，将在某些信息中包含调试信息。</p>
                </td>
            </tr>
        </table>

        <h4>其他</h4>
        <table class="ui table definition selectable">
            <tr>
                <td class="title">支持低版本HTTP</td>
                <td>
                    <checkbox name="httpAllSupportsLowVersionHTTP" v-model="config.httpAll.supportsLowVersionHTTP"></checkbox>
                    <p class="comment">选中后，表示支持HTTP/1.0、HTTP/0.9等低于HTTP/1.1版本的HTTP协议。低版本HTTP协议不支持分段传输内容，且无法保持连接，对系统性能有严重的负面影响。建议只有在你的用户正在使用非常老旧的设备时才启用此选项。</p>
                </td>
            </tr>
            <tr>
                <td>自动匹配证书</td>
                <td>
                    <checkbox name="httpAllMatchCertFromAllServers" v-model="config.httpAll.matchCertFromAllServers"></checkbox>
                    <p class="comment">选中后，表示找不到证书时自动查找其他网站设置的证书。此功能仅仅为了兼容以往系统版本，可能会导致用户访问的网站混乱，所以请不要轻易启用。</p>
                </td>
            </tr>
            <tr>
                <td>强制Ln请求</td>
                <td>
                    <checkbox name="httpAllForceLnRequest" v-model="config.httpAll.forceLnRequest"></checkbox>
                    <p class="comment">选中后，所有请求优先发送到L2或者更高级别节点。默认不开启的情况下，只有可以缓存的内容请求才会发送到L2或者更高级别节点。</p>
                </td>
            </tr>
        </table>

        <submit-btn></submit-btn>
    </form>
</div>